home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / AIncludes / QD3DTransform.a < prev    next >
Encoding:
Text File  |  1998-08-17  |  14.1 KB  |  474 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        QD3DTransform.a
  3. ;
  4. ;    Contains:    Q3Transform routines                                                 
  5. ;
  6. ;    Version:    Technology:    Quickdraw 3D 1.5.4
  7. ;                Release:    Universal Interfaces 3.2
  8. ;
  9. ;    Copyright:    © 1995-1998 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.     IF &TYPE('__QD3DTRANSFORM__') = 'UNDEFINED' THEN
  18. __QD3DTRANSFORM__ SET 1
  19.  
  20.     IF &TYPE('__QD3D__') = 'UNDEFINED' THEN
  21.     include 'QD3D.a'
  22.     ENDIF
  23.  
  24. ; ******************************************************************************
  25. ; **                                                                             **
  26. ; **                            Transform Routines                                 **
  27. ; **                                                                             **
  28. ; ****************************************************************************
  29.  
  30. ;
  31. ; extern TQ3ObjectType Q3Transform_GetType(TQ3TransformObject transform)
  32. ;
  33.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  34.         IMPORT_CFM_FUNCTION Q3Transform_GetType
  35.     ENDIF
  36.  
  37. ;
  38. ; extern TQ3Matrix4x4 *Q3Transform_GetMatrix(TQ3TransformObject transform, TQ3Matrix4x4 *matrix)
  39. ;
  40.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  41.         IMPORT_CFM_FUNCTION Q3Transform_GetMatrix
  42.     ENDIF
  43.  
  44. ;
  45. ; extern TQ3Status Q3Transform_Submit(TQ3TransformObject transform, TQ3ViewObject view)
  46. ;
  47.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  48.         IMPORT_CFM_FUNCTION Q3Transform_Submit
  49.     ENDIF
  50.  
  51.  
  52. ; ******************************************************************************
  53. ; **                                                                             **
  54. ; **                            MatrixTransform Routines                         **
  55. ; **                                                                             **
  56. ; ****************************************************************************
  57.  
  58. ;
  59. ; extern TQ3TransformObject Q3MatrixTransform_New(const TQ3Matrix4x4 *matrix)
  60. ;
  61.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  62.         IMPORT_CFM_FUNCTION Q3MatrixTransform_New
  63.     ENDIF
  64.  
  65. ;
  66. ; extern TQ3Status Q3MatrixTransform_Submit(const TQ3Matrix4x4 *matrix, TQ3ViewObject view)
  67. ;
  68.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  69.         IMPORT_CFM_FUNCTION Q3MatrixTransform_Submit
  70.     ENDIF
  71.  
  72. ;
  73. ; extern TQ3Status Q3MatrixTransform_Set(TQ3TransformObject transform, const TQ3Matrix4x4 *matrix)
  74. ;
  75.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  76.         IMPORT_CFM_FUNCTION Q3MatrixTransform_Set
  77.     ENDIF
  78.  
  79. ;
  80. ; extern TQ3Status Q3MatrixTransform_Get(TQ3TransformObject transform, TQ3Matrix4x4 *matrix)
  81. ;
  82.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  83.         IMPORT_CFM_FUNCTION Q3MatrixTransform_Get
  84.     ENDIF
  85.  
  86.  
  87. ; ******************************************************************************
  88. ; **                                                                             **
  89. ; **                            RotateTransform Data                             **
  90. ; **                                                                             **
  91. ; ****************************************************************************
  92.  
  93. TQ3RotateTransformData    RECORD 0
  94. axis                     ds.l    1                ; offset: $0 (0)
  95. radians                     ds        Float32            ; offset: $4 (4)
  96. sizeof                     EQU *                    ; size:   $8 (8)
  97.                         ENDR
  98. ; ******************************************************************************
  99. ; **                                                                             **
  100. ; **                            RotateTransform Routines                         **
  101. ; **                                                                             **
  102. ; ****************************************************************************
  103.  
  104. ;
  105. ; extern TQ3TransformObject Q3RotateTransform_New(const TQ3RotateTransformData *data)
  106. ;
  107.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  108.         IMPORT_CFM_FUNCTION Q3RotateTransform_New
  109.     ENDIF
  110.  
  111.  
  112. ;
  113. ; extern TQ3Status Q3RotateTransform_Submit(const TQ3RotateTransformData *data, TQ3ViewObject view)
  114. ;
  115.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  116.         IMPORT_CFM_FUNCTION Q3RotateTransform_Submit
  117.     ENDIF
  118.  
  119. ;
  120. ; extern TQ3Status Q3RotateTransform_SetData(TQ3TransformObject transform, const TQ3RotateTransformData *data)
  121. ;
  122.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  123.         IMPORT_CFM_FUNCTION Q3RotateTransform_SetData
  124.     ENDIF
  125.  
  126. ;
  127. ; extern TQ3Status Q3RotateTransform_GetData(TQ3TransformObject transform, TQ3RotateTransformData *data)
  128. ;
  129.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  130.         IMPORT_CFM_FUNCTION Q3RotateTransform_GetData
  131.     ENDIF
  132.  
  133. ;
  134. ; extern TQ3Status Q3RotateTransform_SetAxis(TQ3TransformObject transform, TQ3Axis axis)
  135. ;
  136.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  137.         IMPORT_CFM_FUNCTION Q3RotateTransform_SetAxis
  138.     ENDIF
  139.  
  140. ;
  141. ; extern TQ3Status Q3RotateTransform_SetAngle(TQ3TransformObject transform, float radians)
  142. ;
  143.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  144.         IMPORT_CFM_FUNCTION Q3RotateTransform_SetAngle
  145.     ENDIF
  146.  
  147. ;
  148. ; extern TQ3Status Q3RotateTransform_GetAxis(TQ3TransformObject renderable, TQ3Axis *axis)
  149. ;
  150.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  151.         IMPORT_CFM_FUNCTION Q3RotateTransform_GetAxis
  152.     ENDIF
  153.  
  154. ;
  155. ; extern TQ3Status Q3RotateTransform_GetAngle(TQ3TransformObject transform, float *radians)
  156. ;
  157.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  158.         IMPORT_CFM_FUNCTION Q3RotateTransform_GetAngle
  159.     ENDIF
  160.  
  161.  
  162. ; ******************************************************************************
  163. ; **                                                                             **
  164. ; **                    RotateAboutPointTransform Data                             **
  165. ; **                                                                             **
  166. ; ****************************************************************************
  167.  
  168. TQ3RotateAboutPointTransformData RECORD 0
  169. axis                     ds.l    1                ; offset: $0 (0)
  170. radians                     ds        Float32            ; offset: $4 (4)
  171. about                     ds        TQ3Point3D        ; offset: $8 (8)
  172. sizeof                     EQU *                    ; size:   $14 (20)
  173.                         ENDR
  174. ; ******************************************************************************
  175. ; **                                                                             **
  176. ; **                    RotateAboutPointTransform Routines                         **
  177. ; **                                                                             **
  178. ; ****************************************************************************
  179.  
  180. ;
  181. ; extern TQ3TransformObject Q3RotateAboutPointTransform_New(const TQ3RotateAboutPointTransformData *data)
  182. ;
  183.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  184.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_New
  185.     ENDIF
  186.  
  187. ;
  188. ; extern TQ3Status Q3RotateAboutPointTransform_Submit(const TQ3RotateAboutPointTransformData *data, TQ3ViewObject view)
  189. ;
  190.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  191.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_Submit
  192.     ENDIF
  193.  
  194. ;
  195. ; extern TQ3Status Q3RotateAboutPointTransform_SetData(TQ3TransformObject transform, const TQ3RotateAboutPointTransformData *data)
  196. ;
  197.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  198.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_SetData
  199.     ENDIF
  200.  
  201. ;
  202. ; extern TQ3Status Q3RotateAboutPointTransform_GetData(TQ3TransformObject transform, TQ3RotateAboutPointTransformData *data)
  203. ;
  204.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  205.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_GetData
  206.     ENDIF
  207.  
  208. ;
  209. ; extern TQ3Status Q3RotateAboutPointTransform_SetAxis(TQ3TransformObject transform, TQ3Axis axis)
  210. ;
  211.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  212.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_SetAxis
  213.     ENDIF
  214.  
  215. ;
  216. ; extern TQ3Status Q3RotateAboutPointTransform_GetAxis(TQ3TransformObject transform, TQ3Axis *axis)
  217. ;
  218.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  219.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_GetAxis
  220.     ENDIF
  221.  
  222.  
  223. ;
  224. ; extern TQ3Status Q3RotateAboutPointTransform_SetAngle(TQ3TransformObject transform, float radians)
  225. ;
  226.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  227.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_SetAngle
  228.     ENDIF
  229.  
  230. ;
  231. ; extern TQ3Status Q3RotateAboutPointTransform_GetAngle(TQ3TransformObject transform, float *radians)
  232. ;
  233.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  234.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_GetAngle
  235.     ENDIF
  236.  
  237.  
  238. ;
  239. ; extern TQ3Status Q3RotateAboutPointTransform_SetAboutPoint(TQ3TransformObject transform, const TQ3Point3D *about)
  240. ;
  241.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  242.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_SetAboutPoint
  243.     ENDIF
  244.  
  245. ;
  246. ; extern TQ3Status Q3RotateAboutPointTransform_GetAboutPoint(TQ3TransformObject transform, TQ3Point3D *about)
  247. ;
  248.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  249.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_GetAboutPoint
  250.     ENDIF
  251.  
  252.  
  253. ; ******************************************************************************
  254. ; **                                                                             **
  255. ; **                    RotateAboutAxisTransform Data                             **
  256. ; **                                                                             **
  257. ; ****************************************************************************
  258.  
  259. TQ3RotateAboutAxisTransformData RECORD 0
  260. origin                     ds        TQ3Point3D        ; offset: $0 (0)
  261. orientation                 ds        TQ3Vector3D        ; offset: $C (12)
  262. radians                     ds        Float32            ; offset: $18 (24)
  263. sizeof                     EQU *                    ; size:   $1C (28)
  264.                         ENDR
  265. ; ******************************************************************************
  266. ; **                                                                             **
  267. ; **                    RotateAboutAxisTransform Routines                         **
  268. ; **                                                                             **
  269. ; ****************************************************************************
  270.  
  271. ;
  272. ; extern TQ3TransformObject Q3RotateAboutAxisTransform_New(const TQ3RotateAboutAxisTransformData *data)
  273. ;
  274.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  275.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_New
  276.     ENDIF
  277.  
  278. ;
  279. ; extern TQ3Status Q3RotateAboutAxisTransform_Submit(const TQ3RotateAboutAxisTransformData *data, TQ3ViewObject view)
  280. ;
  281.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  282.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_Submit
  283.     ENDIF
  284.  
  285. ;
  286. ; extern TQ3Status Q3RotateAboutAxisTransform_SetData(TQ3TransformObject transform, const TQ3RotateAboutAxisTransformData *data)
  287. ;
  288.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  289.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_SetData
  290.     ENDIF
  291.  
  292. ;
  293. ; extern TQ3Status Q3RotateAboutAxisTransform_GetData(TQ3TransformObject transform, TQ3RotateAboutAxisTransformData *data)
  294. ;
  295.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  296.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_GetData
  297.     ENDIF
  298.  
  299.  
  300. ;
  301. ; extern TQ3Status Q3RotateAboutAxisTransform_SetOrientation(TQ3TransformObject transform, const TQ3Vector3D *axis)
  302. ;
  303.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  304.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_SetOrientation
  305.     ENDIF
  306.  
  307. ;
  308. ; extern TQ3Status Q3RotateAboutAxisTransform_GetOrientation(TQ3TransformObject transform, TQ3Vector3D *axis)
  309. ;
  310.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  311.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_GetOrientation
  312.     ENDIF
  313.  
  314.  
  315. ;
  316. ; extern TQ3Status Q3RotateAboutAxisTransform_SetAngle(TQ3TransformObject transform, float radians)
  317. ;
  318.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  319.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_SetAngle
  320.     ENDIF
  321.  
  322. ;
  323. ; extern TQ3Status Q3RotateAboutAxisTransform_GetAngle(TQ3TransformObject transform, float *radians)
  324. ;
  325.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  326.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_GetAngle
  327.     ENDIF
  328.  
  329.  
  330. ;
  331. ; extern TQ3Status Q3RotateAboutAxisTransform_SetOrigin(TQ3TransformObject transform, const TQ3Point3D *origin)
  332. ;
  333.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  334.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_SetOrigin
  335.     ENDIF
  336.  
  337. ;
  338. ; extern TQ3Status Q3RotateAboutAxisTransform_GetOrigin(TQ3TransformObject transform, TQ3Point3D *origin)
  339. ;
  340.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  341.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_GetOrigin
  342.     ENDIF
  343.  
  344.  
  345. ; ******************************************************************************
  346. ; **                                                                             **
  347. ; **                            ScaleTransform Routines                             **
  348. ; **                                                                             **
  349. ; ****************************************************************************
  350.  
  351. ;
  352. ; extern TQ3TransformObject Q3ScaleTransform_New(const TQ3Vector3D *scale)
  353. ;
  354.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  355.         IMPORT_CFM_FUNCTION Q3ScaleTransform_New
  356.     ENDIF
  357.  
  358. ;
  359. ; extern TQ3Status Q3ScaleTransform_Submit(const TQ3Vector3D *scale, TQ3ViewObject view)
  360. ;
  361.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  362.         IMPORT_CFM_FUNCTION Q3ScaleTransform_Submit
  363.     ENDIF
  364.  
  365. ;
  366. ; extern TQ3Status Q3ScaleTransform_Set(TQ3TransformObject transform, const TQ3Vector3D *scale)
  367. ;
  368.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  369.         IMPORT_CFM_FUNCTION Q3ScaleTransform_Set
  370.     ENDIF
  371.  
  372. ;
  373. ; extern TQ3Status Q3ScaleTransform_Get(TQ3TransformObject transform, TQ3Vector3D *scale)
  374. ;
  375.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  376.         IMPORT_CFM_FUNCTION Q3ScaleTransform_Get
  377.     ENDIF
  378.  
  379.  
  380. ; ******************************************************************************
  381. ; **                                                                             **
  382. ; **                            TranslateTransform Routines                         **
  383. ; **                                                                             **
  384. ; ****************************************************************************
  385.  
  386. ;
  387. ; extern TQ3TransformObject Q3TranslateTransform_New(const TQ3Vector3D *translate)
  388. ;
  389.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  390.         IMPORT_CFM_FUNCTION Q3TranslateTransform_New
  391.     ENDIF
  392.  
  393. ;
  394. ; extern TQ3Status Q3TranslateTransform_Submit(const TQ3Vector3D *translate, TQ3ViewObject view)
  395. ;
  396.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  397.         IMPORT_CFM_FUNCTION Q3TranslateTransform_Submit
  398.     ENDIF
  399.  
  400. ;
  401. ; extern TQ3Status Q3TranslateTransform_Set(TQ3TransformObject transform, const TQ3Vector3D *translate)
  402. ;
  403.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  404.         IMPORT_CFM_FUNCTION Q3TranslateTransform_Set
  405.     ENDIF
  406.  
  407. ;
  408. ; extern TQ3Status Q3TranslateTransform_Get(TQ3TransformObject transform, TQ3Vector3D *translate)
  409. ;
  410.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  411.         IMPORT_CFM_FUNCTION Q3TranslateTransform_Get
  412.     ENDIF
  413.  
  414. ; ******************************************************************************
  415. ; **                                                                             **
  416. ; **                            QuaternionTransform Routines                     **
  417. ; **                                                                             **
  418. ; ****************************************************************************
  419.  
  420. ;
  421. ; extern TQ3TransformObject Q3QuaternionTransform_New(const TQ3Quaternion *quaternion)
  422. ;
  423.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  424.         IMPORT_CFM_FUNCTION Q3QuaternionTransform_New
  425.     ENDIF
  426.  
  427. ;
  428. ; extern TQ3Status Q3QuaternionTransform_Submit(const TQ3Quaternion *quaternion, TQ3ViewObject view)
  429. ;
  430.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  431.         IMPORT_CFM_FUNCTION Q3QuaternionTransform_Submit
  432.     ENDIF
  433.  
  434. ;
  435. ; extern TQ3Status Q3QuaternionTransform_Set(TQ3TransformObject transform, const TQ3Quaternion *quaternion)
  436. ;
  437.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  438.         IMPORT_CFM_FUNCTION Q3QuaternionTransform_Set
  439.     ENDIF
  440.  
  441. ;
  442. ; extern TQ3Status Q3QuaternionTransform_Get(TQ3TransformObject transform, TQ3Quaternion *quaternion)
  443. ;
  444.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  445.         IMPORT_CFM_FUNCTION Q3QuaternionTransform_Get
  446.     ENDIF
  447.  
  448.  
  449. ; ******************************************************************************
  450. ; **                                                                             **
  451. ; **                            ResetTransform Routines                             **
  452. ; **                                                                             **
  453. ; ****************************************************************************
  454.  
  455. ;
  456. ; extern TQ3TransformObject Q3ResetTransform_New(void )
  457. ;
  458.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  459.         IMPORT_CFM_FUNCTION Q3ResetTransform_New
  460.     ENDIF
  461.  
  462. ;
  463. ; extern TQ3Status Q3ResetTransform_Submit(TQ3ViewObject view)
  464. ;
  465.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  466.         IMPORT_CFM_FUNCTION Q3ResetTransform_Submit
  467.     ENDIF
  468.  
  469.  
  470.  
  471.  
  472.     ENDIF ; __QD3DTRANSFORM__ 
  473.  
  474.